package main

import (
	"fmt"
	"os"
)

func main() {
	//Expand 根据映射函数替换字符串中的 ${var} 或 $var。 例如，os.ExpandEnv(s) 等价于 os.Expand(s, os.Getenv)。
	s := os.Expand("Good ${DAY_PART}, $NAME!", func(s string) string {
		switch s {
		case "DAY_PART":
			return "morning"
		case "NAME":
			return "Gopher"
		}
		return ""
	})

	fmt.Printf("%s", s)

	//ExpandEnv 根据当前环境变量的值替换字符串中的 ${var} 或 $var。 对未定义变量的引用被替换为空字符串。

	os.Setenv("NAME", "gopher")
	os.Setenv("BURROW", "/usr/gopher")
	fmt.Println(os.ExpandEnv("$NAME lives in ${BURROW}."))
}
